﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using DynamicAuditor.DTOs;
using DynamicAuditor.WsSeguridad;

namespace DynamicAuditor
{
    public partial class WebForm2 : System.Web.UI.Page
    {
        /// <summary>
        /// Declaracion de variables publicas para utilizar en esta pagina.
        /// </summary>
        WsSeguridad.dtoModulo modulo = new DynamicAuditor.WsSeguridad.dtoModulo();
        //dtoModulo modulo = new dtoModulo();
        WsSeguridad.WsSeguridad seguridad = new DynamicAuditor.WsSeguridad.WsSeguridad();

       
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (Convert.ToBoolean(Session["CrearModulo"]) == true)
                {
                    Limpiar();
                }
                else
                {
                    Buscar_Modulo();
                }
            }
        }

      
  
        
        protected void Cancelar(object sender, EventArgs e)
        {
            Response.Redirect("MantModulos.aspx");
        }

         /// <summary>
        /// Metodo para limpiar la pantalla
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Limpiar()
        {          
            this.txtCodigo.Text = "";
            this.txtNombre.Text = "";
            this.txtDescripcion.Text = "";
      
        }
        /// <summary>
        /// Metodo para la creacion de clientes.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void Salvar(object sender, EventArgs e)
        {
            int resp = 0;
            
            modulo.Activo = chkactivo.Checked;
            modulo.Codigo = int.Parse(txtCodigo.Text);
            modulo.Descripcion = txtDescripcion.Text;
            modulo.Nombre = txtNombre.Text;
            modulo.Idmodulo = int.Parse(Session["Idmodulo"].ToString());



            try
            {
                if (Convert.ToBoolean(Session["CrearModulo"]) == true)
                {

                    resp = seguridad.CrearModulo(modulo);
                    WebMsgBox.Show("Los datos fueron almacenados correctamente.");
                    Limpiar();
                }
                else
                {
                    resp = seguridad.UpdateModulo(modulo);
                    Limpiar();
                    WebMsgBox.Show("La informacion fue actualizada satisfactoriamente.");
                    Response.Redirect("MantModulos.aspx");
                }

                
            }
            catch (Exception ex)
            {
               WebMsgBox.Show("Ocurrio un error al crear el modulo");

            }

        }

        private void Buscar_Modulo()
        {
            int _idmodulo = Convert.ToInt16(Session["Idmodulo"]);
            DynamicAuditor.WsSeguridad.dtoModulo modulo = new DynamicAuditor.WsSeguridad.dtoModulo();
            DynamicAuditor.WsSeguridad.WsSeguridad seguridad = new DynamicAuditor.WsSeguridad.WsSeguridad();
            modulo = seguridad.ObtenerModuloxId(_idmodulo);

            if (Convert.ToBoolean(modulo.Activo) == true)
            {
                chkactivo.Checked = true;
            }
            else
            {
                chkactivo.Checked = false;
            }
            this.txtCodigo.Text = modulo.Codigo.ToString();
            this.txtNombre.Text = modulo.Nombre;
            this.txtDescripcion.Text = modulo.Descripcion;
            
        }
      }

}